A method and system for generating an input for a search engine

ABSTRACT

An input mechanism for generating an input for a search engine, which is of particular use in searching medical databases comprising electrocardiogram (ECG) results. The input for the search engine is constructed in iterative stages, by initializing the input with a placeholder symbol, and iteratively replacing (responsive to a user input) placeholder symbols with input sections. An input section may comprise a variable to be searched, one or more additional placeholder symbols or a function.

FIELD OF THE INVENTION

The present invention relates to the field of search engines, and inparticular to concepts for generating an input for a search engine.

BACKGROUND OF THE INVENTION

There is an ongoing and increasing desire for improving the ease andaccuracy with which a user is able to search a database, such as thosethat store electrocardiography (ECG) information of one or morepatients. In such databases, there are one or more entries of ECGinformation. Each entry of ECG information typically comprises at leastone (raw) ECG waveform (obtained from one or more sensors monitoring thepatient) and one or more parameters derived from the waveform(s) orotherwise associated with the patient (e.g. waveform measurements,diagnoses and/or patient demographic information).

Increasing an ease and accuracy of searching is particularly importantin the field of clinical research, in which it is desirable to performcomplex search queries. In particular, there is a strong desire toincrease an ease of searching for an ECG waveform, as these areparticularly complex, which makes it difficult to accurately prepare aspecific query for the database.

However, it is recognized that searching for an ECG waveform isparticularly difficult. This at least partly stems from the fact that anECG waveform is a continuous signal, and is typically stored in aseparate database or file to its associated one or more parameters(where the files are linked with pointers or similar methods) or encodedinto a Base64 (or similar) format in the same database as the other ECGinformation. The (continuous signal) nature of the ECG waveform, and thestandard storing mechanism for ECG waveforms makes it difficult tosearch directly for elements of the waveform.

Typically, these problems are at least partly overcome by indirectlysearching for a portion of the waveform by searching based on other ECGinformation (and identifying the portion of the waveform associated withthe searched ECG information). There is therefore an ongoing need fordecreasing the complexity of searching an ECG waveform.

Typical search engines permit a user to manually provide an input for asearch, e.g. using a keyboard, such as manually inserting desiredtopics, values or other criteria. The search engine may then processthis input to search a database for relevant results, i.e. results thatare match or are similar to the criteria identified in the input.Depending upon the search engine and the database, the results mayinclude one or more documents, files, records, links, pointers and soon. The search engine presents the results of the search to the user.

In the context of searching ECG information, a user may be able toprovide an input for searching for specific parameters of the ECGwaveform and/or other characteristics of the ECG waveform or patient.The search engine identifies entries of ECG information (comprising atleast the ECG waveform) that meet the search criteria, and returns theseentries to the user.

However, manually inputting a search can be troublesome, especially foran inexperienced user of the search engine or if a user wishes toperform a search for results that meet some complex criteria.

US2004/0153343A1 disclose a query system, configured to access or obtainpatient data from a medical information system comprising a set ofelectronic devices including means for monitoring patients, wherein saidquery system comprises: A. a query script generator for defining one ormore query scripts, each of said query scripts comprising a set of queryattributes associated with elements of a subset of patient data; a queryscript executor, configured to apply said query script to said patientdata and to generate query results comprising said elements of saidsubset of patient data; and an out generator, configured to output saidquery results. The query system further includes a query wizardgraphical user interface, which facilitate the display, defining andfiltering specific attributes so as to enable a user to obtain searchresults as desired with support of the query wizard. However, the querysystem does not allow a user to compose a query as an input for searchengine intuitively.

There is therefore a desire for a new mechanism for enabling user inputfor a search engine. In particular, there is a desire for a newmechanism that ensures potentially complex criteria for a search can beinput quickly, simply and effectively by a user, with reduced error.

SUMMARY OF THE INVENTION

The invention is defined by the claims.

According to examples in accordance with an aspect of the invention,there is provided a computer-implemented method of generating an inputfor a search engine.

The method comprises: initializing a visual representation of an inputfor the search engine, the initialized visual representation of theinput comprising at least one interactive placeholder symbol; displayingthe visual representation of the input using an interactive visualdisplay system; iteratively performing a replacement process until thevisual representation of the input no longer comprises any placeholdersymbols, the replacement process comprising steps of: in response to auser interacting with a placeholder symbol, displaying one or more inputsections, for interaction with by the user, using the visual displaysystem; and in response to a user interacting with a displayed inputsection, replacing the placeholder symbol with the displayed inputsection; and generating the input for the search engine using the visualrepresentation of the input, wherein each of the one or more inputsections comprises at least one of: an interactive placeholder symbol, avariable for an input for the search engine and/or a value for avariable.

The invention proposes the use of placeholders within an interactive,visual representation of an input for a search engine, such as thosedesigned for searching an electrocardiogram (ECG) database, in order toenable a user to intuitively and readily prepare the input, byappropriately replacing the placeholders with elements for the input.This allows the user to intuitively build-up an entire visualrepresentation of the input, which can then be processed by the searchengine.

The present invention initializes a visual representation by populatinga visual representation with one or more placeholders. The placeholderscan then be replaced by the user with one or more input sections (e.g.potential portions for an input), to thereby allow the user to build upthe desired input.

An input section can be preset (or follow a fixed format) to avoid theuser providing an input section that is unallowable or does not meet thesearch tool criteria, e.g. an incorrectly formatted date. Theplaceholders of the initialized input may be replaced with furtherplaceholders (e.g. a single placeholder of the initialized input may bereplaced by an input section having multiple placeholders). This allowsthe user to increase the complexity and detail of the input.

The present invention therefore provides a new user interface ormechanism that enables a user to provide an input in an intuitivemanner, and reduces the likelihood that the user will enter an undesiredor unallowable input value (e.g. miss a parenthesis or function).

A placeholder is an icon or symbol that represents a potential portionof an input for a search engine. An interaction may include, forexample, a user operating a mouse, keyboard or other user input deviceto select a displayed placeholder or other element displayed by thevisual display system.

Of course, if there is only a single placeholder symbol, which isreplaced by a variable or a value for an input to the search engine,then only a single iteration of replacing the placeholder symbol maytake place.

The search engine is preferably designed for searching a databasestoring one or more entries of electrocardiography, ECG, information ofone or more patients. Electrocardiography information comprises anyinformation of an ECG waveform or derived therefrom. Thus, in someexamples, each entry of ECG information in the ECG database comprises atleast one ECG waveform and/or information derived from an ECG waveform,such as characteristics of a particular ECG waveform (i.e.“electrocardiogram features” or “ECG features”). An entry of ECGinformation may comprise, for example, a diagnosis result (indicating adiagnosis of the patient, e.g. as derived from the ECG waveform) and/ora diagnosis statement (which is a code identifying a diagnosis of thepatient, e.g. as derived from the ECG waveform). An entry of ECGinformation may further comprise other characteristics of the patient(e.g. patient identifying data or patient demographic data).

In such embodiments, the variables and/or values are of the one or moreinput sections are designed for searching an entries of a databasestoring ECG information. In particular, they enable variables orparameters of ECG information to be identified in order to identify ECGwaveforms associated with said parameters. Put another way, thevariables and/or values may be designed for enabling the search of ECGinformation, e.g. variables may relate to parameters of an ECG waveform,parameters derived from an ECG waveform and/or parameters of the patient(e.g. demographic information such as “age” or “gender”).

For example, the variable for the input for the search engine maycomprise an identifier of a parameter for searching an entry ofelectrocardiogram information, such as a characteristics of an ECGwaveform (e.g. maximum, minimum or average values of an ECG waveform)and/or identifying data of the ECG waveform (such as an identifyingnumber associated with a set of one or more waveforms).

In some embodiments, each entry of the database comprises at least oneECG waveform of a patient and one or more of: a value for a parameterderived from the ECG waveform and a value for a parameter of the patientassociated with the at least one ECG waveform. Correspondingly, thevariable for the input for the search engine may comprise an identifierof a parameter derivable from at least one ECG waveform of a patient ora parameter of the patient associated with the at least one ECGwaveform.

It is noted that a parameter comprises any category of information. Avalue for a parameter may be numerical, descriptive (e.g. a textparameter, such as a diagnosis statement) and/or categorical. Examplesof parameters derived from the ECG waveform include an ECG feature (e.g.maximum), a diagnosis result, a diagnosis statement and so on. Examplesof parameter of the patient include any parameter of demographic orhistorical information of the patient, such as an age of the patient, agender of the patient, a patient history, electronic medical recordinformation and so on.

Put more generally, in some embodiments, each entry of the databasecomprises at least one ECG waveform of a patient and one or more of:information derived from the ECG waveform and information of the patientassociated with the at least one ECG waveform; and the variable for theinput for the search engine comprises an identifier of an element ofinformation derivable from at least one ECG waveform of a patient or anelement of information of the patient associated with the at least oneECG waveform.

In embodiments, at least one of the one or more input sections comprisesone or more interactive placeholder symbols.

In some embodiments, each input section that comprises one or moreinteractive placeholder symbols comprises an input section comprising atleast one function and at least one interactive placeholder symbol.

This embodiment provides a method for inserting a function into aninput. A function may, for example, indicate a relationship (e.g. AND,“OR”, “+”, or “max”) between at least two variables, or between avariable and a value. Other functions may indicate a relationshipbetween a variable and a desired search (e.g. “−” or “NOT” may indicatean instruction to not search for a certain variable). This improves alevel of detail that the user is able to provide to an input, andprovides a novel mechanism for including functions within an input.

Optionally, at least one input section comprises at least one functionand at least two interactive placeholder symbols.

The step of initializing a visual representation of an input for thesearch engine may comprise: displaying at least two interest topics, forselection by the user, using the visual display system; in response to auser selecting one or more of the interest topics, displaying one ormore possible visual representations of an input, for selection by theuser, using the visual display system, each displayed possible visualrepresentation of an input being dependent upon the one or more interesttopics selected by the user; and in response to a user selecting apossible visual representation of an input, initializing the visualrepresentation of the input based on the selected possible visualrepresentation of the input.

The step of generating the input for the search engine may comprisegenerating a query script for searching a database using the visualrepresentation of the input. In other embodiments, the visualrepresentation of the input it provided as the input to the searchengine (e.g. the characters and symbols forming the visualrepresentation).

Optionally, the step of display one or more input sections comprises:displaying a first menu icon and a second menu icon to the user, usingthe visual display system; in response to the user interacting with thefirst menu icon, displaying a first set of one or more input sections tothe user, using the visual display system, each input section in thefirst set comprising one or more variables and/or values for an inputfor a search engine; and in response to the user interacting with thesecond menu icon, displaying a second set of one or more input sectionsto the user, using the visual display system, each input section in thesecond set comprising one or more selectable placeholder symbols.

To increase an ease in selecting between variables, values andselectable placeholder symbols, the corresponding input sections may belisted under different headings. This increases an ease with which auser can access their desired input sections.

Of course, there may be further sub-menu icons displayed upon a userinteracting with the first/second menu icon, with which the user mayneed to interact in order for the one or more input sections to bedisplayed.

In some embodiments, the step of displaying one or more input sectionsduring the replacement process comprises: displaying at least twointerest topics, for selection by the user, using the visual displaysystem; and in response to a user selecting one or more of the at leasttwo interest topics, displaying one or more input sections, forinteraction with by the user, using the visual display system, whereinthe displayed one or more input sections are dependent upon the one ormore interest topics selected by the user.

This embodiment restricts the input sections that are displayed to theuser to those most relevant to their desired interest topic area(s),thereby improving an efficiency of generating the input. This helpsguide the user to their desired input sections, and thereby increases anease in generating the input for the search engine.

The computer-implemented method may further comprise performing a searchusing the generated input for the search engine.

According to examples in accordance with an aspect of the invention,there is provided a computer program comprising code means forimplementing any previously described method when said program is run ona processing system.

According to examples in accordance with an aspect of the invention,there is provided a processing system adapted to generate an input for asearch engine. The processing system is adapted to: initialize a visualrepresentation of an input for the search engine, the initialized visualrepresentation of the input comprising at least one interactiveplaceholder symbol; display the visual representation of the input usingan interactive visual display system; iteratively perform a replacementprocess until the visual representation of the input no longer comprisesany placeholder symbols, the replacement process comprising steps of: inresponse to a user interacting with a placeholder symbol, displaying oneor more input sections, for interaction with by the user, using thevisual display system; and in response to a user interacting with adisplayed input section, replacing the placeholder symbol with thedisplayed input section; and generate the input for the search engineusing the visual representation of the input, wherein each of the one ormore input sections comprises at least one of: an interactiveplaceholder symbol, a variable for an input for a search engine and/or avalue for a variable.

Preferably, the at least one of the one or more input sections comprisesone or more selectable placeholder symbols.

In embodiments, each input section comprises one or more interactiveplaceholder symbols comprises at least one function and at least oneinteractive placeholder symbol.

Optionally, at least one input section comprises at least one functionand at least two interactive placeholder symbols.

According to examples in accordance with an aspect of the invention,there is provided an input interface system comprising: any hereindescribed processing system; and an interactive visual display adaptedto enable a user to interact with elements displayed by the visualdisplay. The interactive visual display may comprise a display and oneor more user input devices (such as a mouse, keyboard or the like).

These and other aspects of the invention will be apparent from andelucidated with reference to the embodiment(s) described hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention, and to show more clearlyhow it may be carried into effect, reference will now be made, by way ofexample only, to the accompanying drawings, in which:

FIG. 1 conceptually illustrates the generation of an input for a searchengine;

FIG. 2 illustrates a visual representation of an input following a firstuser interaction;

FIG. 3 illustrates a visual representation of an input following asecond user interaction;

FIG. 4 illustrates a visual representation of an input following a thirduser interaction;

FIG. 5 schematically illustrates a user interface according to anembodiment of the invention;

FIGS. 6 to 9 schematically illustrate processes for the user interfaceaccording to an embodiment of the invention;

FIG. 10 illustrates a computer-implemented method according to anembodiment of the invention; and

FIG. 11 illustrates an input interface system according to an embodimentof the invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The invention will be described with reference to the Figures.

It should be understood that the detailed description and specificexamples, while indicating exemplary embodiments of the apparatus,systems and methods, are intended for purposes of illustration only andare not intended to limit the scope of the invention. These and otherfeatures, aspects, and advantages of the apparatus, systems and methodsof the present invention will become better understood from thefollowing description, appended claims, and accompanying drawings. Itshould be understood that the Figures are merely schematic and are notdrawn to scale. It should also be understood that the same referencenumerals are used throughout the Figures to indicate the same or similarparts.

The invention provides a new input mechanism for generating an input fora search engine for medical databases comprising electrocardiogram (ECG)information or results. The input for the search engine is constructedin iterative stages, by initializing the input with a placeholdersymbol, and iteratively replacing (responsive to a user input)placeholder symbols with input sections. An input section may comprise avariable to be searched, a value to be searched, one or more additionalplaceholder symbols and/or a function.

Embodiments are based on the realization that preparation of a complexinput for a search engine is difficult for an inexperienced user, asthey are unused to the syntax or language used to prepare the input.However, it has been recognized that if a user is able to construct theinput in stages, then errors will be reduced, leading to improved easeof preparing the input. A new input mechanism is thereby provided.

Embodiments may be employed in researching clinical databases, forexample, for clinicians to identify historic results, outcomes ofpatients, perform statistical analysis and/or machine learning. This isof particular use in researching or investigating electrocardiogram(ECG) results or information, as such databases are complex and oftenrequired specific and precise search values. In particular, embodimentsmay be employed in search toolsets for searching an ECG-based database.

The invention will be described in the context of generating an inputfor a search engine adapted to search a database comprising one or moreentries of electrocardiogram information. An entry of electrocardiograminformation may comprise one or more electrocardiogram (ECG) waveformsof a patient and one or more of: a parameter derived from thewaveform(s) or a parameter otherwise associated with the patient. Thismay include patient demographic information and/or diagnosis informationof the patient.

The proposed concepts are particularly advantageous in such embodiments,as (due to the complex nature of such databases) preparing an input fora search engine of such a database is a difficult and time-consumingtask, and may require knowledge of query language beyond the remit of aclinician or researcher. Indeed, one of the most important features ofan ECG research toolset is flexible search.

By way of example, consider a scenario in which a clinician wishes toinvestigate Left Ventricular Hypertrophy (LVH). In this scenario, theclinician may wish to search data based on one or more of followingexample inputs:

SV1+RV5>35

(RI−SI)+(SIII−RIII)>16

SIII+max(R/S) any lead >30

(RaVL+SV3)*QRSduration>2436

(Max(R/S)precordial lead)AND(statement=LAD)

Normally, ECG waveforms for diagnosis comprise a waveform obtained fromeach of at least 12 leads, including 6 limb leads (I, II, III, aVL, aVR,aVF), and 6 precordial leads (V1-V6).

For the sake of completeness, it is noted that the acronyms, featuresand variables used in the above examples of suitable inputs are wellknown in the field of electrocardiography. For example, LAD refers to“Left Axis Deviation” and RaVL refers to the voltage of the R waveamplitude obtained from an aVL(augmented Vector Left) lead acquisition.The other acronyms are well known in the art.

In the first example input, SV1 is the S wave amplitude in lead V1, andRV5 is the R wave amplitude in lead V5. These are all ECG magnitudemeasurements in millimeters. A diagnosis of LVH (Left VentricularHypotrophy) may be given when the sum of the two measurements is biggerthan 35 mm (i.e. the first example input is a search for a diagnosis ofLVH).

In the second example input, RI and RIII refers to R wave amplitude inleads I and III respectively, while SI and SIII are S wave amplitude inleads I and III respectively.

In the third example input, “max(R/S) any lead” means the maximum valueof any of any of the leads: RI/SI, RII/SII, RIII/SIII . . . RV6/SV6.Effectively, this input means to calculate the ratio of 2 measurementsin all 12 leads and then identify the maximum calculated ratio.

In the fourth example input, RaVL means the R wave amplitude in leadaVL, and SV3 is S wave amplitude in lead V3. QRS duration is the timeduration of QRS wave, normally it is calculated using all 12 leads (e.g.to reduce noise or error).

In the fifth example input, Max(R/S) precordial lead means Max(RV1/SV1,RV2/SV2, RV3/SV3, RV4/SV4, RV5/SV5, RV6/SV6). “statement=LAD exist”means that LAD(left axis deviation) diagnosis has been obtained based onthe ECG waveform, e.g. automatically by an algorithm or by manuallyphysician, which is included in the ECG information accompanying the ECGwaveform.

As can be seen, the input criteria can be complex, and difficult toaccurately enter into a search engine manually (e.g. due to syntacticcomplexities). There is therefore a desire to assist the clinician indefining the search input simply and effectively, so that it can beeasily integrating into a search user interface.

Generally speaking, an input for a search engine can be divided into“variables”, “values”, and “functions”.

A variable is an identifier or label of a parameter or element ofelectrocardiogram information that can be searched (e.g. “average heartrate”, “RR interval”, “LAD”, “Diagnosis” or “RaVL”). The term“parameter” is considered to be effectively interchangeable with theterm “variable”. Here, the parameter of electrocardiogram informationmay comprise either a parameter derivable from an ECG waveform (e.g.“average heart rate”, “RR interval”, “LAD” or “RaVL”), a parameter ofthe patient associated with the ECG waveform (e.g. “Diagnosis Code”,“Age” or “Gender”) and/or an identifying parameter for an entry of theECG database (e.g. an identifying number).

A value identifies a value for a variable (e.g. “16”, “30”, “Arrhythmia”or “exists”). The value for a variable may depend upon the nature of avariable.

A function (e.g. an expression) may identify either a relationship orprocess to be performed on between two variables or values, or between avariable and a value, (e.g. “OR”, “MAX”, “+”, “−”, or “>”) or a logicalprocess to be performed on a value of a variable (e.g. “NOT”). Thus, ifan input for a search engine is formatted as “((X=A) AND B) OR(NOT(C))”, this is formatted from one variable (X), three values (A, Band C) and four functions (“=”, “AND”, “OR” and “NOT”).

The skilled person would appreciate how a variable could be implicitwithin a search input. For example, in a scenario in which a user wishesto search for patients diagnosed with arrhythmia, they may simplyprovide an input “Arrhythmia” (which here acts as a value), rather thanneeding to provide an input “Diagnosis=Arrhythmia” (formed of avariable—“Diagnosis”; a function “=” and a value “Arrhythmia”. It istherefore not essential that all possible elements of an input areprovided.

Alternatively, a value may be implicit within a search input. Forexample, in the scenario in which a user wishes to search for patientdiagnosed with “Arrhythmia”, the term “Arrhythmia” may be considered avariable (e.g. having at least possible values of “Present” or “NotPresent”). A user providing an input of only “Arrhythmia” may imply thatthey are looking for cases having “Arrhythmia=Present”.

An input provided to a search engine thereby only requires, at aminimum, at least one variable and/or at least one value.

FIG. 1 conceptually illustrates the generation of an input for a searchengine for a database storing one or more entries of ECG information,following a process according to an embodiment of the invention.

Conceptually, the invention relies on a concept of building up an inputfor a search engine (i.e. a search query) for searching an ECG databaseby iteratively replacing placeholder symbols with input sections. Thisiterative process is performed until there are no placeholder symbolsleft. An input section may define a variable/value for the search queryor provide additional placeholder symbols to be replaced. An inputsection may comprise a function for defining a desired search criteriawith respect to a variable/value. The iterative process allows the inputto be built up in various stages, thereby allowing a complex searchquery to be constructed in stages. This approach leads to reduced errorsin preparing the search query, and in particular leads to a reducedchance of syntactic errors.

Initially, a visual representation of an initialized input 101 ispresented to a user (via a user interface).

The initialized input comprises a placeholder symbol “I”. Theplaceholder symbol is designed to be interactive, so that a user canreplace the placeholder symbol with an input section by interacting withvisual representation of the initialized input on the user interface,appropriate examples of which will be described later. An input sectionmay comprise, for example, one or more other placeholder symbols and/orone or more variables and/or one or more functions for forming the inputto the search engine.

In the illustrated example, the placeholder “I” of the initialized inputis replaced by a first input section, thereby forming a first iterationof the input 102. The exemplary first input section here comprises twoplaceholder symbols “A” and “B” and a function “OR”. The function “OR”here defines a relationship between the two placeholder symbols for thesearch.

As would be understood by the skilled person, the function “OR” withinan input would specifically indicate that a search is performed toidentify elements containing any one or more of the input sectionsdefined within the function “OR”.

The input 101, 102 is iteratively processed in this manner until theinput no longer comprises any placeholder symbols.

For the sake of clarity, an input that does not comprise any placeholdersymbols may be referred to as a “final input” and an input that has beenmodified from the initialized input, but still comprises at least oneplaceholder symbol, may be referred to as an “intermediate input”.

In the illustrated example, as the first iteration of the input 102comprises two placeholder symbols, i.e. it is still an intermediateinput and not yet a final input, then the placeholders need to bereplaced by further input sections.

In the illustrated example, the placeholder “A” of the first iterationof the input 102 is replaced by a second, different input section andthe placeholder “B” of the first iteration is replaced by a third,different input section. This forms a second iteration of the input 103.The second input section here comprises a variable V₁ that replaces theplaceholder “A”. The third input section here comprises another twoplaceholder symbols “C” and “D” and a function “AND” (linking theplaceholder symbols C and D). The function “AND” again defines arelationship between the two placeholder symbols for the search (i.e.that both “C” and “D” need to be included as features in any searchresult).

By way of example, the variable V₁, in the context of providing an inputfor a search engine of an ECG database, may comprise a variable “LAD”,LAD indicates a “left axis deviation”, a well-known term inelectrocardiography.

The second iteration of the input 103 still contains at least oneplaceholder symbol, i.e. is still an intermediate input and not yet afinal input. There is therefore a need for at least one furtheriteration to replace the placeholder symbol(s) with input sections.

In the illustrated example, the placeholder “C” is replaced by a fourthinput section and the placeholder “D” is replaced by a fifth inputsection. The fourth input section here comprises another variable “V2”and the fifth input section comprises another variable “V3”. Thiscreates a third iteration of the input 104.

The third iteration of the input 104 does not comprise any placeholdersymbols, meaning that a final input has been formed. The iterativereplacement process therefore ends.

The conceptual diagram shown in FIG. 1 thereby illustrates how aninitialized input can be iteratively processed to generate a morecomplex input for the search engine. This is performed by iterativelyreplacing any remaining placeholder symbols with an input section,responsive to a selection of the user.

In the above example, values are implicit in the final input.

The diagram of FIG. 1 also provides a number of examples of suitablereplacement input sections for a placeholder symbol. In particular, areplacement input section may comprise one or more variables/values(e.g. a desired feature or value to be searched), one or moreplaceholder symbols (e.g. to create more complex search queries) and/orone or more functions (e.g. to create relationships between differentvariables/values or to create a range for a value of a variable within asearch).

One of the possible input sections may indicate that a value is desiredfor the input. The value may be numerical or categorical. The magnitudeof a numerical value may be defined by the user (e.g. typing in themagnitude). Thus, selecting a value to replace the placeholder symbolmay comprise replacing the placeholder symbol with a default value (e.g.0), and enabling the user to edit the default value to results in adesired value (e.g. 100).

A function may be a “simple function” which provides either arelationship between or process to be performed on two variables/valuesor a logical process to be performed on a variable/value (e.g. “A OR B”,or “NOT”). A function may alternatively be a “complex function” whichindicates a relationship between more than two variables (e.g. AND(A, B,C)).

Of course, any of the illustrated variables, placeholders or functions(in FIG. 1 ) may be replaced by combinations of one or more variables,one or more values, one or more placeholder symbols and/or one or morefunctions. In other words, an input section comprises a combination ofone or more variables, one or more values and/or one or more placeholdersymbols and/or one or more functions.

There is the potential for an input section to be reasonably complex(e.g. comprise multiple variables, multiple values and/or multiplefunctions). By way of example, an input section may comprise any of theexample inputs previously described (e.g. “SV1+RV5>35”— which is formedof two variables SV1, RV5, one value 35 and two functions “+” and “>”).

Using a functional example, the variable V₁ may instead be a simpleequation which defines a plurality of variables and functions. By way ofexample, for preparing an input for searching an ECG database, thevariable V₁ may be represented by the equation“((RaVL+SV3)*QRSduration>2436)”. This illustrates how an input sectionmay be potentially complex, allowing a user to select a complex inputwithout needing to manually insert it.

The content of the input sections may be predetermined, for example,based on common historical searches or known desirable searches in theprior art. The content of the input sections may be controlled by anoperator of the search engine or provider of the proposed mechanism forproviding the input, for example.

In some embodiments, the content of the input sections presented to auser is dependent upon the content of other inputs sections alreadyselected by a user. For example, selection of certain inputs sectionsmay filter for certain input sections to replace remaining placeholdersin the input. As another example, a content of a possible value (actingas an input section) may depend upon the variables and/or functions inthe vicinity of the placeholder symbol to be replaced (e.g. to onlyprovide values that are associated with the variable).

In some embodiments, a selected input section (that replaces aplaceholder symbol) may made be interactive, so that a user can replacethe input section with a different input section. This allows a user tocorrect any errors (e.g. if they accidentally select a wrong inputsection), to change their mind or to edit a selected input section (e.g.edit a magnitude of a value). This may also enable a user to amend acomplex input section (e.g. which could itself be formed of more thanone different input section) to more precisely define the input for thesearch engine.

The “final” input, being the iteration of the input generated when thereare no placeholder symbols left, represents an input suitable for beingprocessed by a search engine. It is possible for this final input to beprocessed so that it can act as an input for a search engine.

However, it is also possible for an input for a search engine to begenerated based on more than one initialized input (i.e. from multiplefinal inputs). For the sake of distinction, the input used to operatethe search engine is referred to as the “overall input”. The overallinput can therefore be generated based on only a single initializedinput, or based on multiple initialized inputs, as hereafter described.Each “final input” (generated from a respective initialized input) maytherefore be an element of an overall input for the search engine.

In particular, generation of an overall input for a search engine basedon multiple initialized inputs can be achieved by enabling the user todefine the number of initialized inputs that are used to generate theinput for the search engine. Selection of the number of initializedinputs could be achieved by providing an interactive icon for creating anew initialized input or a slider for selecting a number of initializedinputs to be provided.

Each initialized input is then processed in the manner previouslydescribed, to create respective final inputs. The input for the searchengine is created when each (of the at least one) input no longercomprises any placeholder symbols, i.e. only final inputs remain.

It is therefore possible that more than oneinitialized/intermediate/final input may be visually represented on adisplay at any given time.

Of course, it will be clear one or more further initialized inputs maybe added at any time, such as the iterative process for replacingplaceholder symbols of the original initialized input or after alldisplayed inputs no longer comprise any placeholder symbols.

When all displayed initialized inputs have been processed, so that thereare no longer any placeholder symbols left, (and no further initializedinputs are desired), this forms the overall input that can be processedto act as an input for a search engine. Thus, all displayed inputs maybe combined in order to generate the search query for the search engine.The method of combining the displayed inputs, i.e. the logic used tocombine the final inputs to form the overall input (e.g. AND or ORlogic) may be defined by the user.

Thus, multiple inputs, not comprising any placeholder symbols, may becombined to create the overall input that operates the search engine.The logic combination of the multiple inputs (e.g. whether AND or ORlogic is used) may be defined by the user. In some embodiments, theoverall input (whether created from a single or multiple initializedinput(s)) is converted into a database search script to perform a searchof the database. Methods of converting an input (string) into a databasesearch script are well established in the prior art. The database searchscript may be formatted, for example, in the Xquery XML format or SQLformat.

Embodiments may comprise searching a database using the overall inputand/or a script generated from the overall input. Methods of searching adatabase based on an input are well known in the prior art.

Embodiments may therefore comprise performing a search using thegenerated/overall input for the search engine. Generating the generatedinput for the search engine may comprise generating a query script forsearching a database using the visual representation of the (overall)input.

Performing the search may return one or more entries ofelectrocardiogram information (of course, no results are returned if noappropriate electrocardiogram information is identified). Each returnedentry would include at least one ECG waveform of a particular patient,as previously described, and/or one or more parameters (and theirvalues) derived from the ECG waveform and/or otherwise associated withthe patient. A user may be able to select or decide the content of areturned entry (e.g. whether only the ECG waveform(s) is/are returned orwhether ECG waveform(s) and parameters derived from the ECG waveform(s)are returned, e.g. by selecting which parameters are to be returned).This may be controlled using the user interface.

FIGS. 2 to 4 illustrate a method for replacing a placeholder symbol withan input section. This is provided in the context of replacing theplaceholder symbol I in the initialized input 101 with an input section,but may be adapted for replacing any placeholder symbol.

In these figures, a menu-based system is provided within drop-down boxesfrom the interactive placeholder symbol. However, the menu-based systemmay be provided in a different window or portion of a display, as wouldbe understood by the skilled person.

FIG. 2 illustrates a possible display provided in response to the userinteracting with a placeholder symbol “I”.

In response to the user interacting with the placeholder symbol “I” (ofthe initialized input 101), a menu 210 is displayed. The menu 210 herecomprises a first menu icon 211 and a second menu icon 212. Both menuicons 211, 212 are interactive.

FIG. 3 illustrates a possible display provided in response to the userinteracting with the first menu icon 211.

In response to the user interacting with the first menu icon 211, afirst set of one or more input sections is displayed to the user. Eachone or more input sections here comprises one or more variables V₁-V_(N)for an input for the search engine. The user is able to select orinteract with one of these input sections. The selected input sectionreplaces the placeholder symbol.

The precise variables made available for selection by a user will dependupon the available parameters or variables stored by entries in the ECGdatabase. Thus, the format of the entries in the ECG database may defineor control the variables made available for selection by a user.

Selecting the first menu icon 211 thereby enables a user to select withwhich variable the placeholder symbol is to be replaced.

FIG. 4 illustrates a possible display provided in response to the userinteracting with the second menu icon 212.

In response to the user interacting with the second menu icon, a secondset of one or more input sections may be displayed to the user. Each ofthe input sections in the second set comprise one or more selectableplaceholder symbols A, B, and optionally one or more functions F₁, F₂,F₃ . . . F_(N). As before, the user is able to select or interact withone of these input sections. The selected input section replaces theplaceholder symbol.

Thus, selecting the second menu icon 211 enables a user to select withwhich variable the placeholder symbol is to be replaced.

The proposed menu-based system effectively enables a user to be able tobuild up a more complex query by replacing the placeholder withdifferent placeholders and/or functions.

Of course, another menu icon may trigger the display of input sectionscorresponding to different values. Another example of a menu icon may bea menu icon that replaces the placeholder symbol with a default,editable value.

Indeed, these examples of menus are non-exhaustive, and are intended toillustrate the flexibility of the system in enabling different inputsections to be presented to the user for selection.

For example, in some embodiments, selecting a menu icon will causeadditional sub-menu icons to be displayed (which may operate in asimilar manner to any previously described menu item).

For example, selecting a first sub-menu icon may cause yet furthersub-menu icons to be displayed (“sub-sub-menu icons”), whereas selectinga second sub-menu icon may cause input sections to be displayed. It willbe appreciated that yet further sub-menus could be presented in responseto selecting a sub-menu icon.

It will therefore be clear that interacting with the placeholder symbolmay initiate a menu-based protocol for displaying (or controlling thedisplay of) one or more input sections for selection by a user.

Different menus or sub-menus may enable different input sections orcombinations of input sections to be displayed. For example, one(sub-)menu (displayed when a certain (sub-)menu icon is selected) maydisplay historical input sections or inputs that have been previouslyselected. Another (sub-)menu may enable the display of input sectionsassociated with the field of Left Ventricular Hypertrophy. Yet another(sub-) menu may enable the display of input sections associated with thefield of Pulmonary Embolism. Yet another (sub-)menu may enable thedisplay of placeholder functions, being input sections comprisingplaceholder symbols and at least one function (e.g. but no variables).

These listed examples are not exhaustive, and various other types of(sub-) menus would be apparent to the skilled person.

By way of example, interacting with a placeholder symbol may trigger thedisplaying of at least two interest topics, for selection by the user.Thus, each “interest topic” may represent a menu icon.

The user selecting one or more of the at least two interest topics maytrigger the displaying of one or more input sections, for interactionwith by the user, wherein the content of the displayed one or more inputsections is dependent upon the one or more interest topics selected bythe user.

Thus, each interest topic may be provided as a menu icon, selection ofwhich triggers the display of one or more input sections (associatedwith that interest topic). The input sections may be selected by anoperator of the search tool.

An interest topic is a field, concept, (research) area or topic that maybe of interest to a user, e.g. “Left Ventricular Hypertrophy” or“Pulmonary Embolism”. It may, for example, be a potential research fieldor interest—i.e. a “research topic”.

The interest topics may be dependent upon the database for which theinput is to be provided. Thus, if the database is for ECGresults/diagnoses, interest topics may include specific sub-fieldswithin this field, such as “Left Ventricular Hypertrophy”, “PulmonaryEmbolism”, “Acute Myocardia Infarction”, “Brugada Syndrome” or “AtrialFibrillation”, amongst other possible examples.

Other methods of determining interest topics may be realized, e.g.providing predetermined interest topics only or by processing a user'ssearch history to identify fields or topics in which they areinterested. Another method may comprise determining an interest topicbased on one or more topics associated with an already selected inputsection.

A similar approach may be used to define an initialized input. Theinitialized input may be preset (e.g. comprising a single placeholder,as illustrated in FIG. 1 ) or may be selected by a user (e.g. based on alist of possible initialized inputs).

For example, an initialized input may be selected by displaying at leasttwo interest topics, for selection by the user, using the visual displaysystem.

Selection by the user of one or more of the interest topics may triggerthe displaying of one or more possible visual representations ofdifferent initialized inputs, for selection by the user. Each displayedpossible visual representation of an input may be dependent upon the oneor more interest topics selected by the user.

Selection of one of the displayed possible visual representations of aninput may initialize the visual representation of the input based on theselected possible visual representation of the input. Thus, a user mayeffectively select a “template” for the initialized input.

It is emphasized that this is an optional feature, and, in someembodiments, the initialized input may be preset, e.g. comprise only asingle placeholder symbol (as illustrated in FIG. 1 ).

FIG. 5 illustrates a user interface 500 for a display according to anembodiment of the invention. The user interface 500 enables at leastsome of the concepts previously described to be implemented.

The user interface 500 comprises various different interactive icons,the operation of which will be made apparent.

The user interface 500 illustrates a scenario in which two differentinputs 501, 502 have been created, and are processed to create theoverall input for the search engine. Each input is generated byappropriate processing of a respective initialized input using theapproach previously described. The skilled person will appreciate that adifferent number of inputs could be used, i.e. one or more inputs, thenumber of inputs being defined by a user.

In the illustrated example, each input 501, 502 comprises three elementsand defines a search criteria for the search engine. A first input 501comprises a first variable 501A, a function 501B and a first value 501C.A second input 502 similarly comprises a second variable 502A, afunction 502B and a second value 502C. This are only examples, anddifferent inputs may be formatted in a different manner.

A “new input” icon 503 may be selected by a user to create a newinitialized input. Selection of the “new input” icon may trigger aprocess for selecting a new initialized input (e.g. by displaying aplurality of possible interest topics, as previously described) orcreation of a new predetermined initialized input (e.g. comprising onlya single placeholder symbol, as previously described). In theillustrated scenario, this icon has already been selected twice by auser, to initialize the first 501 and second 502 inputs.

The relationship between the inputs when creating the final input (forthe search engine) may also be defined by the user. In the illustratedexample, an interactive icon 502 d may be used to define the logic usedto combine the first and second inputs (e.g. AND or OR logic) to createthe overall input. Thus, the interactive icon 502 d may be selected by auser to select the logic for combining the inputs.

Interactive deletion icons 504A, 504B may be used to delete an input501, 502. For example, selection of the first deletion icon 504A maydelete the first input 501, whereas selection of the second deletionicon 504B may delete the second input 502. Each deletion icon may beautomatically generated when a new input is initialized.

As previously described, each input is iteratively processed until noplaceholder symbols are left. The display of suitable input sections(e.g. upon a user interacting with a placeholder symbol, or optionallywith an input section) for replacing the placeholder symbol (or inputsection) may take place in a dedicated area 510 of the user interface.

A search icon 550 may be provided. Selection of the search icon 550 maytrigger the generation and/or execution of a search query for a databasebased on the overall input provided by the user interface (i.e. thecombination of the processed inputs 501, 502). Executing the search maycomprise returning one or more results of a search, as is known in theart. In some embodiments, the search icon cannot be selected by a user,e.g. may be “greyed out”, until there are no placeholder symbolsremaining within the overall input. This advantageously prevents anincomplete input from being processed.

For improved ease of organizing the inputs, and improving a user'sunderstanding of the overall input, it may be possible to separateinputs 501, 502 into two or more groups (of inputs). It may be possibleto define the relationship between groups of inputs (e.g. whether OR orAND logic is to be used to combine the groups to create the overallinput). This may be defined by a user. This approach allows more complexgroupings of inputs to be generated. The user interface 500 illustratesa “new group” icon 505 that could be used to create such groups. In theillustrated example, only a single group 505A has been created—“GROUP1”.

In any previously described embodiments, reference to “displaying” takesplace by controlling a visual representation provided by an interactivevisual display system. The interactive visual display system is adaptedto enable a user to interact with an input or placeholder symbols.Suitable interactive visual display systems comprise, for example, acomputer, a laptop, a mobile/cellular smartphone, a tablet, a smartwatchand so on.

It has previously been described how a user may be able to interact withdifferent displayed elements. Methods of enabling a user to interactwith a displayed element are well known in the prior art and mayinclude, for example, receiving an input from a mouse, a keyboard or atouch-sensitive user interface.

FIG. 5 illustrates a full user interface for a screen. FIGS. 6 to 10illustrate a number of different steps that could be performed by a userinteracting with the screen via such an interface. In these Figures,only the relevant aspects of the user interface for a particular processor step will be illustrated at the relevant point in time, for thepurposes of improved conceptual understanding and conciseness. The samereference numerals shall be used where appropriate.

FIGS. 6 to 9 demonstrate a particular sequence of processes or eventsperformed by the user to build up or modify an overall input for thesearch engine.

FIG. 6 illustrates a process of replacing a function 601A and a value602A of a first input 501A with a new function 601B and value 602B, tothereby modify the first input 501A.

At a first point in time 600A, the first input 501A input is formed of aplaceholder symbol “A” 603, a function 601A and a value 602A. Exampleselections (“A”, “>” and “0”) are shown in each element of the firstinput 501A for improved understanding. In this scenario, the user wishesto modify the function 601A and the value 602A.

To do so, the user may interact with the function 601A to replace itwith a new function 601B. This may be performed, for example, by adrop-down list indicating different possible input sections providingoptions for the function, or by a separate part of the user interfacedisplaying a list of possible input sections providing options for thefunction (such as the dedicated area 510 of FIG. 5 ). The displayedoptions for the function may depend upon the context of surroundingplaceholder symbols, variables and/or variables. By way of example, ifthe function is disposed between a placeholder/variable and a value, theoffered functions may comprise only comparative functions (e.g. “>”,“<”, “=” and so on).

To modify the value 602A, the user interface may permit the user toinput a new desired value (e.g. manually, to replace the value “0” withthe value “100”). This increases a level of control of the user over thedesired value.

In this way, the original input 501A is modified to create a new input501B at a second point in time 600B. The placeholder symbol “A” remainsunmodified for the time being.

FIG. 7 illustrates a couple of processes that may be performed by theuser interacting with the user interface.

A first process, illustrated from a first point in time 700A to a secondpoint in time 700B comprises replacing the placeholder symbol 603 with avariable 703. This may be performed by the user interacting with theplaceholder symbol 603, and selecting one of a plurality of inputsections each providing a different possible variable for selection.

A second process, illustrated from the second point in time 700B to athird point in time 700C, comprises adding a second input 701 forcreating the overall input. Creation of the second input may beperformed by the user interacting with the “new input” icon 503, e.g.clicking the “new input” icon 503. Methods of initializing an input havepreviously been described, e.g. by a user interacting with a list ofsuitable initialized inputs. Here, the initialized second input 701comprises a first placeholder “A” 701A, a second placeholder “?” 702Band a third placeholder “C” 702C. An interactive icon 701D may be usedto define the logic used to combine the first and second inputs (e.g.AND or OR logic) to create the overall input.

FIG. 8 illustrates a further process that may be performed on aninitialized input by the user interacting with the user interface. Thisprocess takes place from a first point in time 800A to a third point intime 800C.

The process illustrated by FIG. 8 is that of replacing a placeholdersymbol of the second input 701 with a plurality of placeholder symbolsand one or more functions that link the placeholder symbols together.

At a first point in time 800A, the user interacts with a placeholdersymbol “A” of the second input 701, which causes a one or more menuoptions to be presented to the user (e.g. in a dedicated portion 510 ofthe user interface).

In the illustrated example, the user is provided with the option ofinteracting with an icon “VARIABLE” (which triggers the display a listof optional variables (as input sections) for replacing the placeholdersymbol), an icon “FUNCTION” (which triggers the display of a list ofpossible functions (e.g. “ADD” or “MAX”) and enable a user to suggest anumber of placeholder symbols for the function) or an icon “VALUE”(which causes the placeholder symbols to be replaced with a default,editable value (e.g. 0)).

At a second point in time 800B, the user can then interact with the menuoptions to select how the placeholder symbol “A” is to be replaced. Inthis example, the user then interacts with the icon “FUNCTION”, therebyindicating that user wishes the placeholder symbol “A” to be replacedwith at least a function.

The user then defines the format of the function, in the illustratedexample by selecting the option of an “ADD” function, by interactingwith a further menu icon (e.g. from a list of possible functions). Theuser can also defines the number of parameters that will be includedwithin the function (here: defining the number of placeholder symbolsfor use in the function).

At the third point in time 800C, the selected options for theplaceholder symbol “A” replace the placeholder symbol “A”. This may beperformed in response to the user interacting with a “SUBMIT” icon. Inthis way, the placeholder symbol “A” is replaced by a plurality ofplaceholder symbols “A”, “B” and “D”, together with the function(s) “+”that link the placeholder symbols.

Each placeholder symbol “A”, “B” or “D” can itself be further replaced(as will be later exemplified). Similarly, each function may also beedited or modified (e.g. as previously explained with reference to FIG.6 ).

FIG. 9 illustrates some further processes that can be performed usingthe user interface.

At a first point in time 900A, the user is able to interact with theplaceholder symbols “A”, “B” and “D” to replace them with variables(here: “SV1”, “RIII” and “SV3” respectively). As previously explained,interacting with a placeholder causes a plurality of input sections tobe displayed, including one or more variables for selection. The userinteracts with a displayed input section to select the variable toreplace the placeholder, as previously explained.

The second point in time 900B illustrates the replaced placeholders.

The user is also able to interact with the user interface to create anew group “GROUP 2”. This is performed by the user interacting with the“new group” icon 505. For the avoidance of doubt, this icon has beencontinually present in the user interface (see FIG. 5 ), but has notbeen previously illustrated in FIGS. 7 to 8 for the sake of providingconcise image.

Selection of the “new group” icon 505 creates a new group, the new groupenabling a user to create yet further inputs, such as the initializedinput 901 (which here comprises three placeholder symbols). Of course,the new group may comprise a “new input” icon 903 and a delete inputicon 904A, which may operate according to previously described methods.

The new group is illustrated as being present at a third point in time900C.

The user may be able to control how the groups of inputs are combined(e.g. whether OR or AND logic is used) to create the overall input byinteracting with a group combination icon 910.

The illustrated steps performed by the user interface are only exemplaryand non-exhaustive, any may be omitted in some embodiments.

It has been previously described how the proposed concept of generatingan input for a search engine is particularly useful for searchingECG-based databases. A brief description of preparing an ECG database ishereafter provided for improved understanding.

An entry for an ECG database is generated by collecting one or more rawECG waveforms (measured from a patient). Each waveform may be obtainedfrom a different lead, as is known in the art. An entry can be generatedby extracting some information from the ECG waveform(s). This isperformed using one or more algorithms, e.g. a machine-learning method,a pattern recognition algorithm or a signal processing method, and/orfrom user input (e.g. a user analyzing the waveform(s)). The extractedinformation may comprise, for example, known ECG measurements ordiagnosis statements, which may be provided as statement codes (e.g.ABMI, AAPMI and so on). The raw waveform(s) and extracted informationform an entry in the database.

The skilled person would appreciate that there are numerous differentpossible ECG measurements, which may be based upon the duration,amplitude, area, or shape of part of one or more waveforms. Somemeasurements are based on a combination of all/some of the waveforms.

This process can be repeated for numerous different patients and/orsubjects, each forming their own entry in the database.

The ECG database can then be searched based on the variables and/orvalues of the entries (e.g. of the ECG measurements). For example, thedatabase could be searched to find entries for which the averagemagnitude of one waveform is greater than a certain number. The inputfor the search is generated using a previously described method.

Although concepts of the invention have been previously described ingeneral terms, FIG. 10 explicitly illustrates a method 1000 ofgenerating an input for a search engine according to an embodiment ofthe invention. The method may be for generating an input for a searchengine for searching a database storing one or more entries ofelectrocardiography, ECG, information of one or more patients, Theskilled person would be capable of adapting the proposed method to becapable of performing any previously described concept.

The method 1000 comprises a step 1001 of initializing a visualrepresentation of an input for the search engine, the initialized visualrepresentation of the input comprising at least one interactiveplaceholder symbol;

The method 1000 also comprises a step 1002 of displaying the visualrepresentation of the input using an interactive visual display system.

The method 1000 also comprises an iterative replacement process 1003that is performed until the input no longer comprises any placeholdersymbols.

The iterative replacement process comprises a step of in response to auser interacting with a placeholder symbol, displaying 1004 one or moreinput sections, for interaction with by the user, using the visualdisplay system.

This step may be achieved by performing a step 1005 of determiningwhether the user has interacting with a placeholder symbol, and inresponse to a positive determination (i.e. a user has interacted with aplaceholder symbol) performing step 1004, otherwise repeating step 1005.

After performing step 1004, the iterative process 1003 comprises inresponse to a user interacting with a displayed input section, replacing1006 the placeholder symbol with the displayed input section.

This step may be achieved by performing a step 1007 of determiningwhether the user has interacted with a displayed input section, and inresponse to a positive determination (i.e. the user has interacted withthe displayed input section), performing step 1006, otherwise repeatingstep 1007.

As previously noted, the iterative process 1003 is performed until theinput no longer comprises any placeholder symbols. This can be achievedby performing a step 1008 of determining whether there are anyplaceholder symbols left, and in response to a positive determination(i.e. there is at least one placeholder symbol left), repeating theiterative process, otherwise, the iterative process ends.

After the iterative process 1003 ends, a step 1009 is performed. Step1009 comprises generating the input for the search engine using thevisual representation of the input. Of course, as previously described,step 1009 may comprise using more than one input (which has undergonethe iterative process) to generate the input for the search engine (“theoverall input”).

It will be clear that each of the one or more input sections comprisesone or more interactive placeholder symbols and/or one or morevariables/values for an input for a search engine.

FIG. 11 illustrates an input interface system 1100 for generating aninput for a search engine, which may be for searching a database storingone or more entries of electrocardiography, ECG, information of one ormore patients.

The input interface system comprises a processing system 1101 and aninteractive visual display 1102 adapted to enable a user to interactwith elements displayed by the visual display.

The processing system 1101 is adapted to perform any previouslydescribed method. The processing system may be adapted to carry out anyherein described concept, e.g. as described with reference to FIGS. 1 to6 .

Thus, the processing system 1101 is adapted to initialize a visualrepresentation of an input for the search engine, the initialized visualrepresentation of the input comprising at least one interactiveplaceholder symbol; display the visual representation of the input usingan interactive visual display system; and iteratively perform areplacement process until the visual representation of the input nolonger comprises any placeholder symbols, the replacement processcomprising steps of: in response to a user interacting with aplaceholder symbol, displaying one or more input sections, forinteraction with by the user, using the visual display system; and inresponse to a user interacting with a displayed input section, replacingthe placeholder symbol with the displayed input section; and generatethe input for the search engine using the visual representation of theinput, wherein each of the one or more input sections comprises one ormore interactive placeholder symbols and/or one or more variables for aninput for a search engine.

The interactive visual display 1102 may comprise a display screen 1102A(for providing the visual representations) and one or more input modules1102B (e.g. a mouse or keyboard) to enable a user to interact withdisplayed elements. Of course, the display screen may itself form aninput module, e.g. be touch-sensitive.

The skilled person would be readily capable of developing a processingsystem for carrying out any herein described method. Thus, each step ofthe flow chart may represent a different action performed by aprocessing system, and may be performed by a respective module of theprocessing system.

Embodiments may therefore make use of a processing system. Theprocessing system can be implemented in numerous ways, with softwareand/or hardware, to perform the various functions required. A processoris one example of a processing system which employs one or moremicroprocessors that may be programmed using software (e.g., microcode)to perform the required functions. A processing system may however beimplemented with or without employing a processor, and also may beimplemented as a combination of dedicated hardware to perform somefunctions and a processor (e.g., one or more programmed microprocessorsand associated circuitry) to perform other functions.

Examples of processing system components that may be employed in variousembodiments of the present disclosure include, but are not limited to,conventional microprocessors, application specific integrated circuits(ASICs), and field-programmable gate arrays (FPGAs).

In various implementations, a processor or processing system may beassociated with one or more storage media such as volatile andnon-volatile computer memory such as RAM, PROM, EPROM, and EEPROM. Thestorage media may be encoded with one or more programs that, whenexecuted on one or 70 more processors and/or processing systems, performthe required functions. Various storage media may be fixed within aprocessor or processing system or may be transportable, such that theone or more programs stored thereon can be loaded into a processor orprocessing system.

It will be understood that disclosed methods are preferablycomputer-implemented methods. As such, there is also proposed theconcept of computer program comprising code means for implementing anydescribed method when said program is run on a processing system, suchas a computer. Thus, different portions, lines or blocks of code of acomputer program according to an embodiment may be executed by aprocessing system or computer to perform any herein described method. Insome alternative implementations, the functions noted in the blockdiagram(s) or flow chart(s) may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved.

Variations to the disclosed embodiments can be understood and effectedby those skilled in the art in practicing the claimed invention, from astudy of the drawings, the disclosure and the appended claims. In theclaims, the word “comprising” does not exclude other elements or steps,and the indefinite article “a” or “an” does not exclude a plurality. Asingle processor or other unit may fulfill the functions of severalitems recited in the claims. The mere fact that certain measures arerecited in mutually different dependent claims does not indicate that acombination of these measures cannot be used to advantage. If a computerprogram is discussed above, it may be stored/distributed on a suitablemedium, such as an optical storage medium or a solid-state mediumsupplied together with or as part of other hardware, but may also bedistributed in other forms, such as via the Internet or other wired orwireless telecommunication systems. If the term “adapted to” is used inthe claims or description, it is noted the term “adapted to” is intendedto be equivalent to the term “configured to”. Any reference signs in theclaims should not be construed as limiting the scope.

1. A computer-implemented method of generating an input for a searchengine, the method comprising: initializing a visual representation ofan input for the search engine, the initialized visual representation ofthe input comprising at least one interactive placeholder symbol;displaying the visual representation of the input using an interactivevisual display system; and iteratively performing a replacement processuntil the visual representation of the input no longer comprises anyplaceholder symbols, the replacement process comprising steps of: inresponse to a user interacting with a placeholder symbol, displaying oneor more input sections, for interaction with by the user, using thevisual display system; and in response to a user interacting with adisplayed input section, replacing the placeholder symbol with thedisplayed input section; and generating the input for the search engineusing the visual representation of the input, wherein each of the one ormore input sections comprises at least one of: an interactiveplaceholder symbol, a variable for an input for the search engine and/ora value for a variable.
 2. The computer-implemented method of claim 1,wherein the search engine is for searching a database storing one ormore entries of electrocardiography, ECG, information of one or morepatients, and optionally wherein: each entry of the database comprisesat least one ECG waveform of a patient and one or more of: a value for aparameter derived from the ECG waveform and a value for a parameter ofthe patient associated with the at least one ECG waveform; and thevariable for the input for the search engine comprises an identifier ofa parameter derivable from at least one ECG waveform of a patient or aparameter of the patient associated with the at least one ECG waveform.3. The computer-implemented method of claim 1, wherein at least one ofthe one or more input sections comprises one or more interactiveplaceholder symbols.
 4. The computer-implemented method of claim 3,wherein each input section that comprises one or more interactiveplaceholder symbols comprises at least one function and at least oneinteractive placeholder symbol.
 5. The computer-implemented method ofclaim 1, wherein at least one input section comprises at least onefunction and at least two interactive placeholder symbols.
 6. Thecomputer-implemented method of claim 1, wherein the step of initializinga visual representation of an input for the search engine comprises:displaying at least two interest topics, for selection by the user,using the visual display system; in response to a user selecting one ormore of the interest topics, displaying one or more possible visualrepresentations of an input, for selection by the user, using the visualdisplay system, each displayed possible visual representation of aninput being dependent upon the one or more interest topics selected bythe user; and in response to a user selecting a possible visualrepresentation of an input, initializing the visual representation ofthe input based on the selected possible visual representation of theinput.
 7. The computer-implemented method of claim 1, wherein in thestep of generating the input for the search engine comprises generatinga query script for searching a database using the visual representationof the input.
 8. The computer-implemented method of claim 1, wherein thestep of displaying one or more input sections comprises: displaying afirst menu icon and a second menu icon to the user, using the visualdisplay system; in response to the user interacting with the first menuicon, displaying a first set of one or more input sections to the user,using the visual display system, each input section in the first setcomprising one or more variables for an input for a search engine; inresponse to the user interacting with the second menu icon, displaying asecond set of one or more input sections to the user, using the visualdisplay system, each input section in the second set comprising one ormore selectable placeholder symbols.
 9. The computer-implemented methodof claim 1, wherein the step of displaying one or more input sectionsduring the replacement process comprises: displaying at least twointerest topics, for selection by the user, using the visual displaysystem; in response to a user selecting one or more of the at least twointerest topics, displaying one or more input sections, for interactionwith by the user, using the visual display system, wherein the displayedone or more input sections are dependent upon the one or more interesttopics selected by the user.
 10. The computer-implemented method ofclaim 1, further comprising performing a search using the generatedinput for the search engine.
 11. A computer program comprising codemeans for implementing the computer-implemented method of claim 1 whensaid program is run on a processing system.
 12. A processing systemadapted to generate an input for a search engine, the processing systembeing adapted to: initialize a visual representation of an input for thesearch engine, the initialized visual representation of the inputcomprising at least one interactive placeholder symbol; display thevisual representation of the input using an interactive visual displaysystem; and iteratively perform a replacement process until the visualrepresentation of the input no longer comprises any placeholder symbols,the replacement process comprising steps of: in response to a userinteracting with a placeholder symbol, displaying one or more inputsections, for interaction with by the user, using the visual displaysystem; and in response to a user interacting with a displayed inputsection, replacing the placeholder symbol with the displayed inputsection; and generate the input for the search engine using the visualrepresentation of the input, wherein each of the one or more inputsections comprises at least one of: an interactive placeholder symbol, avariable for an input for a search engine and/or a value for a variable.13. The processing system of claim 12, wherein at least one of the oneor more input sections comprises one or more selectable placeholdersymbols.
 14. The processing system of claim 12, wherein at least oneinput section comprises at least one function and at least twointeractive placeholder symbols.
 15. An input interface system forgenerating an input for a search engine, the input interface systemcomprising: the processing system of claim 12; and an interactive visualdisplay adapted to enable a user to interact with elements displayed bythe visual display.